Meme Generator

คู่มือนี้จะแสดงแนวทางปฏิบัติจริงในการติดตั้งใช้งานแอปพลิเคชันโดยใช้การเรียกใช้ฟังก์ชันด้วย Gemma เทคนิคนี้ใช้ได้กับ Gemma โมเดลเวอร์ชันต่างๆ ผ่านการวิศวกรรมพรอมต์อย่างละเอียด ดูข้อมูลเพิ่มเติมได้ในBeyond the Chatbot: Agentic AI with Gemma

คำอธิบายการเรียกใช้ฟังก์ชัน

โครงสร้างทั่วไปสำหรับการเรียกใช้ฟังก์ชันประกอบด้วยคอมโพเนนต์หลัก 2-3 รายการ ซึ่งออกแบบมาเพื่อให้ Gemma โต้ตอบกับเครื่องมือหรือ API ภายนอกได้

  1. อธิบายเครื่องมือ
    คุณบอกโมเดลเกี่ยวกับ "เครื่องมือ" (ฟังก์ชัน) ที่ใช้ได้ ซึ่งรวมถึงเนื้อหาต่อไปนี้

    • สิ่งที่เครื่องมือทํา (คําอธิบาย)
    • ข้อมูลที่จำเป็นสำหรับเครื่องมือ (พารามิเตอร์)
  2. ผู้ใช้ถามคําถาม
    คุณถามคําถามหรือมอบหมายงานให้โมเดล

  3. Gemma ตัดสินใจ
    โมเดลจะพิจารณาว่าต้องใช้เครื่องมือในการตอบคำถามหรือไม่

  4. Gemma ขอเครื่องมือ
    หากต้องใช้เครื่องมือ Gemma จะสร้างโค้ดที่รวมไว้กับ ```tool_code```

  5. เครื่องมือทํางาน
    เครื่องมือ (ฟังก์ชัน) จะนำข้อมูลจากโมเดลและทำสิ่งที่ควรจะทํา

  6. เครื่องมือแสดงผลลัพธ์
    Gemma คาดว่าจะได้รับผลลัพธ์ที่รวมอยู่ใน ```tool_output```

  7. Gemma ให้คำตอบสุดท้าย
    โมเดลจะใช้ผลลัพธ์ของเครื่องมือเพื่อสร้างคำตอบที่สมบูรณ์และถูกต้องให้กับคุณ

คำแนะนำที่เป็นประโยชน์

  • สคีมา JSON: การใช้สคีมา JSON ในการกําหนดพารามิเตอร์ (ไม่บังคับ) มีข้อดีคือโครงสร้างที่สอดคล้องกันและการตรวจสอบอัตโนมัติ
  • ความเข้าใจที่ชัดเจน: คุณภาพของคำอธิบายฟังก์ชันเป็นสิ่งสําคัญอย่างยิ่งเพื่อให้โมเดลระบุเวลาที่จะใช้ฟังก์ชันได้อย่างถูกต้อง
  • การจัดการข้อผิดพลาด: การจัดการข้อผิดพลาดที่มีประสิทธิภาพเป็นสิ่งจําเป็นในการจัดการกรณีที่การเรียกฟังก์ชันไม่สําเร็จหรือแสดงผลลัพธ์ที่ไม่คาดคิด
  • กระบวนการแบบวนซ้ำ: บางครั้งการสนทนาระหว่างโมเดลกับการเรียกใช้ฟังก์ชันอาจมีหลายรอบ

ตัวอย่างพรอมต์และเอาต์พุต

คุณสามารถดูโค้ดสําหรับแอปพลิเคชันนี้ได้ในที่เก็บโค้ด Gemma Cookbook

ขั้นตอนที่ 1 และ 2: อธิบายเครื่องมือและมอบหมายงาน

รูปแมวตลกๆ

อินพุต: รูปภาพแมวตลกๆ
อินพุตข้อความ:

If you decide to invoke any of the function(s), it should be wrapped with ```tool_code```.

You have access to the following tools.

* `generate_meme(image, top_text, middle_text, bottom_text)`: Generate a meme with the given parameters

Make a funny meme with this. "meme.jpg"

ขั้นตอนที่ 3: Gemma ตัดสินใจและขอเครื่องมือ

พรอมต์นี้จะสร้างคำตอบต่อไปนี้

Okay, here's a funny meme based on the image of the surprised cat:

```tool_code
generate_meme(image="meme.jpg", top_text="Me when I hear a creak", middle_text="Is it safe?", bottom_text="Probably not.")
```

ขั้นตอนที่ 4: เครื่องมือทํางาน

คุณจะประมวลผลเอาต์พุตของโมเดลโดยค้นหาบล็อกโค้ด แยกวิเคราะห์อาร์กิวเมนต์ของฟังก์ชัน และเรียกใช้ฟังก์ชัน

เอาต์พุตสุดท้ายจากเครื่องมือสร้างมีม